<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Biometric Embedded Platform: api/inc/fpc_bep_bio.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Biometric Embedded Platform
   &#160;<span id="projectnumber">fpc_bep_kaadas_21.0.1.002</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('fpc__bep__bio_8h.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">fpc_bep_bio.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Biometric API.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdbool.h&gt;</code><br />
<code>#include &lt;stddef.h&gt;</code><br />
<code>#include &lt;stdint.h&gt;</code><br />
<code>#include &quot;<a class="el" href="fpc__bep__types_8h_source.html">fpc_bep_types.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="fpc__bep__algorithm_8h_source.html">fpc_bep_algorithm.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="fpc__bep__bio__param_8h_source.html">fpc_bep_bio_param.h</a>&quot;</code><br />
</div>
<p><a href="fpc__bep__bio_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfpc__bep__enrollment__status__t.html">fpc_bep_enrollment_status_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enrollment status indicating the progress of an ongoing enrollment.  <a href="structfpc__bep__enrollment__status__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfpc__bep__identify__result__t.html">fpc_bep_identify_result_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Identify result details.  <a href="structfpc__bep__identify__result__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a3528eaebdeaa50e05c860f61a3dceaea"><td class="memItemLeft" align="right" valign="top"><a id="a3528eaebdeaa50e05c860f61a3dceaea"></a>
typedef struct fpc_bep_template&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__bio_8h.html#a3528eaebdeaa50e05c860f61a3dceaea">fpc_bep_template_t</a></td></tr>
<tr class="memdesc:a3528eaebdeaa50e05c860f61a3dceaea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Biometric fingerprint template. <br /></td></tr>
<tr class="separator:a3528eaebdeaa50e05c860f61a3dceaea"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:af6bbdc6247cf0d53adf1e549f5f8e68e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__bio_8h.html#af6bbdc6247cf0d53adf1e549f5f8e68e">fpc_bep_mem_release_t</a> { <br />
&#160;&#160;<a class="el" href="fpc__bep__bio_8h.html#af6bbdc6247cf0d53adf1e549f5f8e68ea0f13efc1c920538c346db3c3753deb01">FPC_BEP_DISABLE_MEM_RELEASE</a> = 0, 
<br />
&#160;&#160;<a class="el" href="fpc__bep__bio_8h.html#af6bbdc6247cf0d53adf1e549f5f8e68ead49a911686811409fa8e168cb3c34ab9">FPC_BEP_ENABLE_MEM_RELEASE</a> = 1
<br />
 }<tr class="memdesc:af6bbdc6247cf0d53adf1e549f5f8e68e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Manage RAM buffer containing serialized template data in BEP library.  <a href="fpc__bep__bio_8h.html#af6bbdc6247cf0d53adf1e549f5f8e68e">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:af6bbdc6247cf0d53adf1e549f5f8e68e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d61f8ce6100b7a0fa811b998d8080db"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__bio_8h.html#a3d61f8ce6100b7a0fa811b998d8080db">fpc_bep_enrollment_feedback_t</a> { <br />
&#160;&#160;<a class="el" href="fpc__bep__bio_8h.html#a3d61f8ce6100b7a0fa811b998d8080dbaec09acba691f41d7877348c11a28bb74">FPC_BEP_ENROLLMENT_DONE</a> = 1, 
<br />
&#160;&#160;<a class="el" href="fpc__bep__bio_8h.html#a3d61f8ce6100b7a0fa811b998d8080dbac4e7f4642cfef66f1b65b6d4110554aa">FPC_BEP_ENROLLMENT_PROGRESS</a> = 2, 
<br />
&#160;&#160;<a class="el" href="fpc__bep__bio_8h.html#a3d61f8ce6100b7a0fa811b998d8080dbae7ca46810ab892b4aceae72190533dc1">FPC_BEP_ENROLLMENT_REJECT_REASON_LOW_QUALITY</a> = 3, 
<br />
&#160;&#160;<a class="el" href="fpc__bep__bio_8h.html#a3d61f8ce6100b7a0fa811b998d8080dba86c408b4cb4730439265d7e8237fe130">FPC_BEP_ENROLLMENT_REJECT_REASON_LOW_SENSOR_COVERAGE</a> = 4, 
<br />
&#160;&#160;<a class="el" href="fpc__bep__bio_8h.html#a3d61f8ce6100b7a0fa811b998d8080dbac8a7db21b00d17ff7636918f4a453635">FPC_BEP_ENROLLMENT_REJECT_REASON_LOW_MOBILITY</a> = 5, 
<br />
&#160;&#160;<a class="el" href="fpc__bep__bio_8h.html#a3d61f8ce6100b7a0fa811b998d8080dba10284a07633b6ba2ddf5b9fc369f7115">FPC_BEP_ENROLLMENT_REJECT_REASON_OTHER</a> = 6, 
<br />
&#160;&#160;<a class="el" href="fpc__bep__bio_8h.html#a3d61f8ce6100b7a0fa811b998d8080dba4790bed45091199143fb2865816b7bcc">FPC_BEP_ENROLLMENT_PROGRESS_BUT_IMMOBILE</a> = 7
<br />
 }<tr class="memdesc:a3d61f8ce6100b7a0fa811b998d8080db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enrollment status feedback.  <a href="fpc__bep__bio_8h.html#a3d61f8ce6100b7a0fa811b998d8080db">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a3d61f8ce6100b7a0fa811b998d8080db"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:abd2f8aad57e2b85d93851524c316ae18"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__bio_8h.html#abd2f8aad57e2b85d93851524c316ae18">fpc_bep_bio_get_recommended_param</a> (const <a class="el" href="fpc__bep__algorithm_8h.html#a62308e92cbea62c87cc7a19afafffe78">fpc_bep_algorithm_t</a> *algorithm, <a class="el" href="structfpc__bep__bio__param__t.html">fpc_bep_bio_param_t</a> *param)</td></tr>
<tr class="memdesc:abd2f8aad57e2b85d93851524c316ae18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets recommended configuration parameters for the FPC BEP library.  <a href="#abd2f8aad57e2b85d93851524c316ae18">More...</a><br /></td></tr>
<tr class="separator:abd2f8aad57e2b85d93851524c316ae18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4940247601046998b3ebb85cfa7db167"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__bio_8h.html#a4940247601046998b3ebb85cfa7db167">fpc_bep_bio_init</a> (<a class="el" href="structfpc__bep__bio__param__t.html">fpc_bep_bio_param_t</a> *param, const <a class="el" href="fpc__bep__algorithm_8h.html#a62308e92cbea62c87cc7a19afafffe78">fpc_bep_algorithm_t</a> *algorithm)</td></tr>
<tr class="memdesc:a4940247601046998b3ebb85cfa7db167"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the biometric part of FPC BEP library.  <a href="#a4940247601046998b3ebb85cfa7db167">More...</a><br /></td></tr>
<tr class="separator:a4940247601046998b3ebb85cfa7db167"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94b9e8f82bb3f7b1368796f9656943ef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__bio_8h.html#a94b9e8f82bb3f7b1368796f9656943ef">fpc_bep_bio_release</a> (void)</td></tr>
<tr class="memdesc:a94b9e8f82bb3f7b1368796f9656943ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases the biometric part of FPC BEP library.  <a href="#a94b9e8f82bb3f7b1368796f9656943ef">More...</a><br /></td></tr>
<tr class="separator:a94b9e8f82bb3f7b1368796f9656943ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1352282c1351b5229aa5025a1e3356d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__bio_8h.html#a1352282c1351b5229aa5025a1e3356d3">fpc_bep_image_extract</a> (<a class="el" href="fpc__bep__types_8h.html#aac8124c8124fff6434f4442baa231459">fpc_bep_image_t</a> **image, <a class="el" href="fpc__bep__bio_8h.html#a3528eaebdeaa50e05c860f61a3dceaea">fpc_bep_template_t</a> **template)</td></tr>
<tr class="memdesc:a1352282c1351b5229aa5025a1e3356d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extracts features from an image.  <a href="#a1352282c1351b5229aa5025a1e3356d3">More...</a><br /></td></tr>
<tr class="separator:a1352282c1351b5229aa5025a1e3356d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab2a5b3d349d935782216c0068ae6bc3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__bio_8h.html#aab2a5b3d349d935782216c0068ae6bc3">fpc_bep_template_get_size</a> (const <a class="el" href="fpc__bep__bio_8h.html#a3528eaebdeaa50e05c860f61a3dceaea">fpc_bep_template_t</a> *template, size_t *size)</td></tr>
<tr class="memdesc:aab2a5b3d349d935782216c0068ae6bc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the size of template data in serialized form.  <a href="#aab2a5b3d349d935782216c0068ae6bc3">More...</a><br /></td></tr>
<tr class="separator:aab2a5b3d349d935782216c0068ae6bc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad513de07e7353dbe8182ed8fbe817056"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__bio_8h.html#ad513de07e7353dbe8182ed8fbe817056">fpc_bep_template_serialize</a> (const <a class="el" href="fpc__bep__bio_8h.html#a3528eaebdeaa50e05c860f61a3dceaea">fpc_bep_template_t</a> *template, uint8_t *data, size_t data_size)</td></tr>
<tr class="memdesc:ad513de07e7353dbe8182ed8fbe817056"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serializes a template to a data buffer.  <a href="#ad513de07e7353dbe8182ed8fbe817056">More...</a><br /></td></tr>
<tr class="separator:ad513de07e7353dbe8182ed8fbe817056"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eb8697483cca70a232a1d953c3c273c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__bio_8h.html#a4eb8697483cca70a232a1d953c3c273c">fpc_bep_template_deserialize</a> (<a class="el" href="fpc__bep__bio_8h.html#a3528eaebdeaa50e05c860f61a3dceaea">fpc_bep_template_t</a> **template, uint8_t *data, size_t data_size, <a class="el" href="fpc__bep__bio_8h.html#af6bbdc6247cf0d53adf1e549f5f8e68e">fpc_bep_mem_release_t</a> data_release)</td></tr>
<tr class="memdesc:a4eb8697483cca70a232a1d953c3c273c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deserializes a template from a data buffer.  <a href="#a4eb8697483cca70a232a1d953c3c273c">More...</a><br /></td></tr>
<tr class="separator:a4eb8697483cca70a232a1d953c3c273c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab948ff41b9cfb34b42efa09482e628d0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__bio_8h.html#ab948ff41b9cfb34b42efa09482e628d0">fpc_bep_template_delete</a> (<a class="el" href="fpc__bep__bio_8h.html#a3528eaebdeaa50e05c860f61a3dceaea">fpc_bep_template_t</a> **template)</td></tr>
<tr class="memdesc:ab948ff41b9cfb34b42efa09482e628d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases the provided template and the resources associated with it.  <a href="#ab948ff41b9cfb34b42efa09482e628d0">More...</a><br /></td></tr>
<tr class="separator:ab948ff41b9cfb34b42efa09482e628d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af93435c7808c792e117b56522fd8b267"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__bio_8h.html#af93435c7808c792e117b56522fd8b267">fpc_bep_identify</a> (const <a class="el" href="fpc__bep__bio_8h.html#a3528eaebdeaa50e05c860f61a3dceaea">fpc_bep_template_t</a> **candidates, const size_t candidates_count, <a class="el" href="structfpc__bep__identify__result__t.html">fpc_bep_identify_result_t</a> *result)</td></tr>
<tr class="memdesc:af93435c7808c792e117b56522fd8b267"><td class="mdescLeft">&#160;</td><td class="mdescRight">Identify extracted template by matching it against the specified candidates.  <a href="#af93435c7808c792e117b56522fd8b267">More...</a><br /></td></tr>
<tr class="separator:af93435c7808c792e117b56522fd8b267"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ce8582ecd16b4b6c6f3d63ec1f788de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__bio_8h.html#a0ce8582ecd16b4b6c6f3d63ec1f788de">fpc_bep_identify_release</a> (bool *update_template)</td></tr>
<tr class="memdesc:a0ce8582ecd16b4b6c6f3d63ec1f788de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases the identify session and gets the template update status.  <a href="#a0ce8582ecd16b4b6c6f3d63ec1f788de">More...</a><br /></td></tr>
<tr class="separator:a0ce8582ecd16b4b6c6f3d63ec1f788de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ca572e95088c6424ddffa2aadb26268"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__bio_8h.html#a1ca572e95088c6424ddffa2aadb26268">fpc_bep_enroll_start</a> (void)</td></tr>
<tr class="memdesc:a1ca572e95088c6424ddffa2aadb26268"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts an enrollment session.  <a href="#a1ca572e95088c6424ddffa2aadb26268">More...</a><br /></td></tr>
<tr class="separator:a1ca572e95088c6424ddffa2aadb26268"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5053960d3306454772ee17e5ebf56a0b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__bio_8h.html#a5053960d3306454772ee17e5ebf56a0b">fpc_bep_enroll_finish</a> (<a class="el" href="fpc__bep__bio_8h.html#a3528eaebdeaa50e05c860f61a3dceaea">fpc_bep_template_t</a> **template)</td></tr>
<tr class="memdesc:a5053960d3306454772ee17e5ebf56a0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finishes an enrollment session.  <a href="#a5053960d3306454772ee17e5ebf56a0b">More...</a><br /></td></tr>
<tr class="separator:a5053960d3306454772ee17e5ebf56a0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac92dd04aad06f61d2478f6b2da2a11d1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpc__bep__bio_8h.html#ac92dd04aad06f61d2478f6b2da2a11d1">fpc_bep_enroll</a> (<a class="el" href="fpc__bep__types_8h.html#aac8124c8124fff6434f4442baa231459">fpc_bep_image_t</a> *image, <a class="el" href="structfpc__bep__enrollment__status__t.html">fpc_bep_enrollment_status_t</a> *status)</td></tr>
<tr class="memdesc:ac92dd04aad06f61d2478f6b2da2a11d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds an image to an ongoing enrollment session.  <a href="#ac92dd04aad06f61d2478f6b2da2a11d1">More...</a><br /></td></tr>
<tr class="separator:ac92dd04aad06f61d2478f6b2da2a11d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Biometric API. </p>
<p>This is the biometric API of the Biometric Embedded Platform (BEP) library. The library contains functionality for use with biometric hardware from Fingerprint Cards. It is targeting embedded systems with tight restrictions on available CPU, memory and storage resources.</p>
<p>The library is by definition executing in the same security domain as the caller, therefore the API does not define any security mechanisms and it is the responsibility of the caller to securely deliver and protect any sensitive data being delivered to other parts of the system.</p>
<dl class="section note"><dt>Note</dt><dd>This is a work-in-progress specification. Implementers are informed that this API may change without providing any backward compatibility. However it is FPC's ambition that the API shall remain compatible between releases. </dd></dl>
</div><h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a3d61f8ce6100b7a0fa811b998d8080db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d61f8ce6100b7a0fa811b998d8080db">&#9670;&nbsp;</a></span>fpc_bep_enrollment_feedback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="fpc__bep__bio_8h.html#a3d61f8ce6100b7a0fa811b998d8080db">fpc_bep_enrollment_feedback_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enrollment status feedback. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a3d61f8ce6100b7a0fa811b998d8080dbaec09acba691f41d7877348c11a28bb74"></a>FPC_BEP_ENROLLMENT_DONE&#160;</td><td class="fielddoc"><p>Enrollment is done. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3d61f8ce6100b7a0fa811b998d8080dbac4e7f4642cfef66f1b65b6d4110554aa"></a>FPC_BEP_ENROLLMENT_PROGRESS&#160;</td><td class="fielddoc"><p>Enrollment made progress. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3d61f8ce6100b7a0fa811b998d8080dbae7ca46810ab892b4aceae72190533dc1"></a>FPC_BEP_ENROLLMENT_REJECT_REASON_LOW_QUALITY&#160;</td><td class="fielddoc"><p>Enrollment rejected because of low quality. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3d61f8ce6100b7a0fa811b998d8080dba86c408b4cb4730439265d7e8237fe130"></a>FPC_BEP_ENROLLMENT_REJECT_REASON_LOW_SENSOR_COVERAGE&#160;</td><td class="fielddoc"><p>Enrollment rejected because of low sensor coverage. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3d61f8ce6100b7a0fa811b998d8080dbac8a7db21b00d17ff7636918f4a453635"></a>FPC_BEP_ENROLLMENT_REJECT_REASON_LOW_MOBILITY&#160;</td><td class="fielddoc"><p>Enrollment rejected because of low mobility. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3d61f8ce6100b7a0fa811b998d8080dba10284a07633b6ba2ddf5b9fc369f7115"></a>FPC_BEP_ENROLLMENT_REJECT_REASON_OTHER&#160;</td><td class="fielddoc"><p>Enrollment rejected because of unknown reason. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3d61f8ce6100b7a0fa811b998d8080dba4790bed45091199143fb2865816b7bcc"></a>FPC_BEP_ENROLLMENT_PROGRESS_BUT_IMMOBILE&#160;</td><td class="fielddoc"><p>Enrollment touch was very similar to a previous touch. </p>
</td></tr>
</table>

</div>
</div>
<a id="af6bbdc6247cf0d53adf1e549f5f8e68e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6bbdc6247cf0d53adf1e549f5f8e68e">&#9670;&nbsp;</a></span>fpc_bep_mem_release_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="fpc__bep__bio_8h.html#af6bbdc6247cf0d53adf1e549f5f8e68e">fpc_bep_mem_release_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Manage RAM buffer containing serialized template data in BEP library. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="af6bbdc6247cf0d53adf1e549f5f8e68ea0f13efc1c920538c346db3c3753deb01"></a>FPC_BEP_DISABLE_MEM_RELEASE&#160;</td><td class="fielddoc"><p>Disable memory release in BEP library </p>
</td></tr>
<tr><td class="fieldname"><a id="af6bbdc6247cf0d53adf1e549f5f8e68ead49a911686811409fa8e168cb3c34ab9"></a>FPC_BEP_ENABLE_MEM_RELEASE&#160;</td><td class="fielddoc"><p>Enable memory release in BEP library </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="abd2f8aad57e2b85d93851524c316ae18"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd2f8aad57e2b85d93851524c316ae18">&#9670;&nbsp;</a></span>fpc_bep_bio_get_recommended_param()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_bio_get_recommended_param </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="fpc__bep__algorithm_8h.html#a62308e92cbea62c87cc7a19afafffe78">fpc_bep_algorithm_t</a> *&#160;</td>
          <td class="paramname"><em>algorithm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structfpc__bep__bio__param__t.html">fpc_bep_bio_param_t</a> *&#160;</td>
          <td class="paramname"><em>param</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets recommended configuration parameters for the FPC BEP library. </p>
<p>Recommended configuration parameters are determined based on specified sensor and algorithm. This function could be called before the BEP library is initialized.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">algorithm</td><td>Algorithm configuration. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">param</td><td>The recommended BEP library configuration parameters.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="a4940247601046998b3ebb85cfa7db167"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4940247601046998b3ebb85cfa7db167">&#9670;&nbsp;</a></span>fpc_bep_bio_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_bio_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structfpc__bep__bio__param__t.html">fpc_bep_bio_param_t</a> *&#160;</td>
          <td class="paramname"><em>param</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="fpc__bep__algorithm_8h.html#a62308e92cbea62c87cc7a19afafffe78">fpc_bep_algorithm_t</a> *&#160;</td>
          <td class="paramname"><em>algorithm</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes the biometric part of FPC BEP library. </p>
<p>Requires that the sensor is already initialized, see <a class="el" href="fpc__bep__sensor_8h.html#a7d7ca04903a7b5f993ac7a4019f97b3e" title="Initializes the fingerprint sensor part of FPC BEP library. ">fpc_bep_sensor_init()</a>. This function must be called before using functionality of the <a class="el" href="fpc__bep__bio_8h.html" title="Biometric API. ">fpc_bep_bio.h</a>. Only fpc_bep_get_recommended_param() and <a class="el" href="fpc__bep__algorithm_8h.html#a7eadb9b6c57c9bd530f5b915ee6b9ce1" title="Determines the maximum template size for specified algorithm configuration. ">fpc_bep_algorithm_get_max_template_size()</a> could be called before <a class="el" href="fpc__bep__bio_8h.html#a4940247601046998b3ebb85cfa7db167" title="Initializes the biometric part of FPC BEP library. ">fpc_bep_bio_init()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">param</td><td>BEP library configuration parameters. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">algorithm</td><td>BEP library algorithm to be initialized.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="a94b9e8f82bb3f7b1368796f9656943ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94b9e8f82bb3f7b1368796f9656943ef">&#9670;&nbsp;</a></span>fpc_bep_bio_release()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_bio_release </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Releases the biometric part of FPC BEP library. </p>
<p>After the biometric resources successfully has been released a new initialization must be performed by calling <a class="el" href="fpc__bep__bio_8h.html#a4940247601046998b3ebb85cfa7db167" title="Initializes the biometric part of FPC BEP library. ">fpc_bep_bio_init()</a>.</p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="ac92dd04aad06f61d2478f6b2da2a11d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac92dd04aad06f61d2478f6b2da2a11d1">&#9670;&nbsp;</a></span>fpc_bep_enroll()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_enroll </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="fpc__bep__types_8h.html#aac8124c8124fff6434f4442baa231459">fpc_bep_image_t</a> *&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structfpc__bep__enrollment__status__t.html">fpc_bep_enrollment_status_t</a> *&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Adds an image to an ongoing enrollment session. </p>
<p>The status will be set to indicate the progress and signal any potential user feedback regarding the provided image. The enrollment is complete when the status indicates that no more samples are required. The session should then be finished by calling <a class="el" href="fpc__bep__bio_8h.html#a5053960d3306454772ee17e5ebf56a0b" title="Finishes an enrollment session. ">fpc_bep_enroll_finish()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>Image from which features are extracted. The image should be released by the user after the enrollment session has finished, i.e. after fpc_bep_enroll_finish has been called. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">status</td><td>Status of the operation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="a5053960d3306454772ee17e5ebf56a0b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5053960d3306454772ee17e5ebf56a0b">&#9670;&nbsp;</a></span>fpc_bep_enroll_finish()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_enroll_finish </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="fpc__bep__bio_8h.html#a3528eaebdeaa50e05c860f61a3dceaea">fpc_bep_template_t</a> **&#160;</td>
          <td class="paramname"><em>template</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Finishes an enrollment session. </p>
<p>This function releases all resources associated with the enrollment session.</p>
<p>In case the enrollment was successfully completed, the enrolled template will be returned through the template argument.</p>
<p>An ongoing enrollment session can be cancelled by calling this function before the status returned from <a class="el" href="fpc__bep__bio_8h.html#ac92dd04aad06f61d2478f6b2da2a11d1" title="Adds an image to an ongoing enrollment session. ">fpc_bep_enroll()</a> indicates that the Enrollment is complete. In that case <a class="el" href="fpc__bep__bio_8h.html#a5053960d3306454772ee17e5ebf56a0b" title="Finishes an enrollment session. ">fpc_bep_enroll_finish()</a> will return FPC_BEP_RESULT_CANCELLED. The template pointer is allowed to be NULL.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">template</td><td>The enrolled template. The caller is responsible for deleting the template. Could be set to NULL in case of cancel the enrollment session. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="a1ca572e95088c6424ddffa2aadb26268"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ca572e95088c6424ddffa2aadb26268">&#9670;&nbsp;</a></span>fpc_bep_enroll_start()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_enroll_start </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Starts an enrollment session. </p>
<p>This function will start enrollment of a new template. Images should then be added to the enrollment session using <a class="el" href="fpc__bep__bio_8h.html#ac92dd04aad06f61d2478f6b2da2a11d1" title="Adds an image to an ongoing enrollment session. ">fpc_bep_enroll()</a>. When that function indicates that the enrollment is completed, <a class="el" href="fpc__bep__bio_8h.html#a5053960d3306454772ee17e5ebf56a0b" title="Finishes an enrollment session. ">fpc_bep_enroll_finish()</a> should be called to finish the session and obtain the id of the enrolled template.</p>
<p>Note that there can only be one ongoing enrollment session at a time. So once an enrollment session has been started using <a class="el" href="fpc__bep__bio_8h.html#a1ca572e95088c6424ddffa2aadb26268" title="Starts an enrollment session. ">fpc_bep_enroll_start()</a> it must be finished by calling <a class="el" href="fpc__bep__bio_8h.html#a5053960d3306454772ee17e5ebf56a0b" title="Finishes an enrollment session. ">fpc_bep_enroll_finish()</a> before a new session can be started.</p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="af93435c7808c792e117b56522fd8b267"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af93435c7808c792e117b56522fd8b267">&#9670;&nbsp;</a></span>fpc_bep_identify()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_identify </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="fpc__bep__bio_8h.html#a3528eaebdeaa50e05c860f61a3dceaea">fpc_bep_template_t</a> **&#160;</td>
          <td class="paramname"><em>candidates</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>candidates_count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structfpc__bep__identify__result__t.html">fpc_bep_identify_result_t</a> *&#160;</td>
          <td class="paramname"><em>result</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Identify extracted template by matching it against the specified candidates. </p>
<p>This function will perform template to template matching. If a match is found, the index of the matching template will be returned. This function could be called multiple times by provide a sub-set of the available candidates at a time.</p>
<dl class="section note"><dt>Note</dt><dd>The source template is provided by calling <a class="el" href="fpc__bep__bio_8h.html#a1352282c1351b5229aa5025a1e3356d3" title="Extracts features from an image. ">fpc_bep_image_extract()</a>. This function can be used to perform a verification (1:1 match) by supplying only one candidate.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">candidates</td><td>The candidate templates to match against. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">candidates_count</td><td>Number of entries in candidates. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>Identify result details. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="a0ce8582ecd16b4b6c6f3d63ec1f788de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ce8582ecd16b4b6c6f3d63ec1f788de">&#9670;&nbsp;</a></span>fpc_bep_identify_release()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_identify_release </td>
          <td>(</td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>update_template</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Releases the identify session and gets the template update status. </p>
<p>This function releases the identify session and informs if the the template should be updated or not. It must always be called after calling <a class="el" href="fpc__bep__bio_8h.html#af93435c7808c792e117b56522fd8b267" title="Identify extracted template by matching it against the specified candidates. ">fpc_bep_identify()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">update_template</td><td>True if the template that matched the image needs to be updated, false otherwise. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="a1352282c1351b5229aa5025a1e3356d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1352282c1351b5229aa5025a1e3356d3">&#9670;&nbsp;</a></span>fpc_bep_image_extract()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_image_extract </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="fpc__bep__types_8h.html#aac8124c8124fff6434f4442baa231459">fpc_bep_image_t</a> **&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="fpc__bep__bio_8h.html#a3528eaebdeaa50e05c860f61a3dceaea">fpc_bep_template_t</a> **&#160;</td>
          <td class="paramname"><em>template</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Extracts features from an image. </p>
<p>Extracts features from an image and stores the features in a template. The resulting template is intended for matching against existing enrolled template(s).</p>
<p>This function supports image extraction for both internal template matching and external template matching e.g. matching in Secure Element. For internal template matching the template pointer could be set to NULL, the template will be kept in BEP library context until released by calling <a class="el" href="fpc__bep__bio_8h.html#a0ce8582ecd16b4b6c6f3d63ec1f788de" title="Releases the identify session and gets the template update status. ">fpc_bep_identify_release()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>Image from which features are extracted. Image will be released by call. This is due to RAM optimization. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">template</td><td>Template with features. Set to NULL for internal identify. The caller is responsible for deleting the template. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="ab948ff41b9cfb34b42efa09482e628d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab948ff41b9cfb34b42efa09482e628d0">&#9670;&nbsp;</a></span>fpc_bep_template_delete()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_template_delete </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="fpc__bep__bio_8h.html#a3528eaebdeaa50e05c860f61a3dceaea">fpc_bep_template_t</a> **&#160;</td>
          <td class="paramname"><em>template</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Releases the provided template and the resources associated with it. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">template</td><td>The template to release. If NULL, no operation is performed. Template pointer set to NULL when released. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="a4eb8697483cca70a232a1d953c3c273c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4eb8697483cca70a232a1d953c3c273c">&#9670;&nbsp;</a></span>fpc_bep_template_deserialize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_template_deserialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="fpc__bep__bio_8h.html#a3528eaebdeaa50e05c860f61a3dceaea">fpc_bep_template_t</a> **&#160;</td>
          <td class="paramname"><em>template</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="fpc__bep__bio_8h.html#af6bbdc6247cf0d53adf1e549f5f8e68e">fpc_bep_mem_release_t</a>&#160;</td>
          <td class="paramname"><em>data_release</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Deserializes a template from a data buffer. </p>
<p>The template data buffer shall contain a template in the format as created by <a class="el" href="fpc__bep__bio_8h.html#ad513de07e7353dbe8182ed8fbe817056" title="Serializes a template to a data buffer. ">fpc_bep_template_serialize()</a>.</p>
<p>The template data must remain valid throughout the existence of the template object, which is until calling <a class="el" href="fpc__bep__bio_8h.html#ab948ff41b9cfb34b42efa09482e628d0" title="Releases the provided template and the resources associated with it. ">fpc_bep_template_delete()</a>. The <code>data_release</code> parameter could be used to let the BEP library handle memory release of the data buffer. Template data stored in memory mapped non-volatile memory is supported by setting <code>data_release</code> to FPC_BEP_DISABLE_MEM_RELEASE.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">template</td><td>The template. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The template data buffer. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data_size</td><td>The size of the template data buffer. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data_release</td><td>Controls if the provided #data should be released by the BEP library. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="aab2a5b3d349d935782216c0068ae6bc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab2a5b3d349d935782216c0068ae6bc3">&#9670;&nbsp;</a></span>fpc_bep_template_get_size()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_template_get_size </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="fpc__bep__bio_8h.html#a3528eaebdeaa50e05c860f61a3dceaea">fpc_bep_template_t</a> *&#160;</td>
          <td class="paramname"><em>template</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the size of template data in serialized form. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">template</td><td>The template. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">size</td><td>Size of serialized template data [byte]. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
<a id="ad513de07e7353dbe8182ed8fbe817056"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad513de07e7353dbe8182ed8fbe817056">&#9670;&nbsp;</a></span>fpc_bep_template_serialize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4">fpc_bep_result_t</a> fpc_bep_template_serialize </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="fpc__bep__bio_8h.html#a3528eaebdeaa50e05c860f61a3dceaea">fpc_bep_template_t</a> *&#160;</td>
          <td class="paramname"><em>template</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Serializes a template to a data buffer. </p>
<p>Serializes a template to a data buffer as an array of consecutive bytes, in a format suitable for storage and transmission. The serialized format is dependent on selected match location from <a class="el" href="fpc__bep__bio_8h.html#a4940247601046998b3ebb85cfa7db167" title="Initializes the biometric part of FPC BEP library. ">fpc_bep_bio_init()</a>.</p>
<p>The caller is responsible for allocating the data buffer. If the size of the buffer is not large enough to fit the complete template data, the template will be truncated in a controlled way. The full size of the template data can be retrieved using <a class="el" href="fpc__bep__bio_8h.html#aab2a5b3d349d935782216c0068ae6bc3" title="Gets the size of template data in serialized form. ">fpc_bep_template_get_size()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">template</td><td>The template. </td></tr>
    <tr><td class="paramdir">[in,out]</td><td class="paramname">data</td><td>The template data buffer. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data_size</td><td>The size of the template data buffer. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="fpc__bep__types_8h.html#adf46f9c3966202d9cf52a82981adaea4" title="Common results returned by BEP functions. ">fpc_bep_result_t</a> </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_0188a3e6da905bc60aceb35bf790b8c9.html">api</a></li><li class="navelem"><a class="el" href="dir_d218fd71c02742082feaad64e43c1ecd.html">inc</a></li><li class="navelem"><a class="el" href="fpc__bep__bio_8h.html">fpc_bep_bio.h</a></li>
    <li class="footer">Generated on Tue Nov 9 2021 12:12:59 for Biometric Embedded Platform by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
